package com.wlyuan.open.scanner.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author yuanjie
 * @since 2022-10-18
 */
@Data
@TableName("Balance_BillIndex")
@ApiModel(value = "BalanceBillindexDO对象", description = "")
public class BalanceBillindexDO implements Serializable {


    private static final long serialVersionUID = -4900458477904181359L;
    @ApiModelProperty("账单编号")
    @TableId(value = "Index_ID", type = IdType.AUTO)
    private Long indexId;

    private String indexGuid;

    @ApiModelProperty("客户编号(应收)")
    private Long indexCustomerid;

    @ApiModelProperty("承运商编号(应付)")
    private Long indexSupplierid;

    @ApiModelProperty("发票代码")
    private String indexCode;

    @ApiModelProperty("发票号码")
    private String indexNo;

    @ApiModelProperty("发票金额")
    private Double indexAmount;

    @ApiModelProperty("账单说明")
    private String indexDescription;

    @ApiModelProperty("账单状态")
    private Integer indexStatus;

    @ApiModelProperty("状态变更日期")
    private LocalDateTime indexStatustime;

    @ApiModelProperty("添加者")
    private Long indexAuthor;

    @ApiModelProperty("添加时间")
    private LocalDateTime indexInserttime;

    @ApiModelProperty("修改者")
    private Long indexUpdater;

    @ApiModelProperty("修改时间")
    private LocalDateTime indexUpdatetime;

    @ApiModelProperty("是否失效。0有效，1失效")
    private Integer indexInvalid;

    @ApiModelProperty("备注")
    private String indexComments;

    @ApiModelProperty("账单收付类别。1应收 2 应付")
    private Long indexBilltype;

    @ApiModelProperty("对账单编号")
    private String indexBcode;

    @ApiModelProperty("所属公司ID")
    private Long indexOwnercompanyid;

    @ApiModelProperty("关联对账单ID")
    private Long indexSrcid;

    @ApiModelProperty("拒绝原因")
    private String indexRefreason;

    @ApiModelProperty("线下承运商ID")
    private Long indexSuppliersymbolid;

    @ApiModelProperty("自营司机ID")
    private Long indexDriverid;

    @ApiModelProperty("拒绝标记")
    private String indexBalancetag;

    @ApiModelProperty("对账单名称")
    private String indexBname;

    @ApiModelProperty("开票状态 0 未开票 1已开票 2部分开票")
    private Integer indexBillingstatus;

    @ApiModelProperty("开票日期")
    private LocalDateTime indexBillingdate;

    @ApiModelProperty("发票说明")
    private String indexBillingdesc;

    @ApiModelProperty("异步处理标记 0 处理完成 1 处理中")
    private Integer indexAsyncflag;


    @TableField(exist = false)
    private String raw;
    @TableField(exist = false)
    private Long fbId;

    @TableField(exist = false)
    @ApiModelProperty("承运商名称")
    private String carrierName;
    @TableField(exist = false)
    @ApiModelProperty("承运商电话")
    private String carrierPhone;
    @TableField(exist = false)
    @ApiModelProperty("承运商联系人")
    private String carrierContactName;
    @TableField(exist = false)
    @ApiModelProperty("承运商id")
    private Long carrierId;
    @TableField(exist = false)
    @ApiModelProperty("承运商类型")
    private Integer carrierType;
    @TableField(exist = false)
    @ApiModelProperty("承运商租户")
    private Long upTenantId;

    @ApiModelProperty("发货方名称")
    @TableField(exist = false)
    private String customerName;
    @ApiModelProperty("发货方类型")
    @TableField(exist = false)
    private Integer customerType;
    @ApiModelProperty("发货方租户")
    @TableField(exist = false)
    private Long downTenantId;

    @ApiModelProperty("echo")
    @TableField(exist = false)
    private String echo;
}
